//
//  CZStatus.swift
//  WeiBo
//
//  Created by Apple on 16/9/6.
//  Copyright © 2016年 KY. All rights reserved.
//

import UIKit
//  微博模型
class CZStatus: NSObject {
    //  微博创建时间
    var created_at: String?
    //  微博id
    var id: Int64 = 0
    //  微博内容
    var text: String?
    //  微博来源
    var source: String?
    //  关注的用户对象, 这个字段需要手动转成想要的模型
    var user: CZUser?
    
    //  转发微博
    var retweeted_status: CZStatus?
    //  转发数
    var reposts_count :Int = 0
    //  评论数
    var comments_count:	Int = 0
    //  赞数
    var attitudes_count: Int = 0
    
    //  配图数组模型
    var pic_urls: [CZStatusPictureInfo]?
    
    //  kvc构造函数
    init(dic: [String: Any]) {
        super.init()
        setValuesForKeys(dic)
    
    }
    
    //  重写setValue: forKey:
    override func setValue(_ value: Any?, forKey key: String) {
        if key == "user" {
        
            guard let dic = value as? [String: Any] else {
                return
            }
            //  字典格式正确，完成字典转模型
            user = CZUser(dic: dic)
            
            
        } else if key == "retweeted_status" {
            guard let dic = value as? [String: Any] else {
                return
            }
            
            retweeted_status = CZStatus(dic: dic)
            
            
        } else if key == "pic_urls" {
            guard let dicArray = value as? [[String: Any]] else {
                return
            }
            
            //  遍历图片数组创建模型数组
            var tempArray = [CZStatusPictureInfo]()
            for dic in dicArray {
                let pictureInfo = CZStatusPictureInfo(dic: dic)
                tempArray.append(pictureInfo)
            }
            
            //  设置模型数组
            pic_urls = tempArray
            
            
            
        } else {
            super.setValue(value, forKey: key)
        }
    }
    
    //  防止字典不匹配
    override func setValue(_ value: Any?, forUndefinedKey key: String) {
        
    }
    
}
